package abs.domain;

import java.io.Serializable;

import java.lang.StringBuilder;

import java.util.Calendar;
import java.util.Set;

import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

import javax.xml.bind.annotation.*;

import javax.persistence.*;

/**
 */

@Entity
@NamedQueries({
		@NamedQuery(name = "findAllProveedoress", query = "select myProveedores from Proveedores myProveedores"),
		@NamedQuery(name = "findProveedoresByPr100auto", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100auto = ?1"),
		@NamedQuery(name = "findProveedoresByPr100autoContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100auto like ?1"),
		@NamedQuery(name = "findProveedoresByPr100cgre", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100cgre = ?1"),
		@NamedQuery(name = "findProveedoresByPr100cgreContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100cgre like ?1"),
		@NamedQuery(name = "findProveedoresByPr100ciud", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ciud = ?1"),
		@NamedQuery(name = "findProveedoresByPr100ciudContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ciud like ?1"),
		@NamedQuery(name = "findProveedoresByPr100cont", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100cont = ?1"),
		@NamedQuery(name = "findProveedoresByPr100contContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100cont like ?1"),
		@NamedQuery(name = "findProveedoresByPr100copr", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100copr = ?1"),
		@NamedQuery(name = "findProveedoresByPr100ctacr", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ctacr = ?1"),
		@NamedQuery(name = "findProveedoresByPr100ctacrContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ctacr like ?1"),
		@NamedQuery(name = "findProveedoresByPr100ctadb", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ctadb = ?1"),
		@NamedQuery(name = "findProveedoresByPr100ctadbContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ctadb like ?1"),
		@NamedQuery(name = "findProveedoresByPr100dire", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100dire = ?1"),
		@NamedQuery(name = "findProveedoresByPr100direContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100dire like ?1"),
		@NamedQuery(name = "findProveedoresByPr100emai", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100emai = ?1"),
		@NamedQuery(name = "findProveedoresByPr100emaiContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100emai like ?1"),
		@NamedQuery(name = "findProveedoresByPr100fead", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100fead = ?1"),
		@NamedQuery(name = "findProveedoresByPr100feadAfter", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100fead > ?1"),
		@NamedQuery(name = "findProveedoresByPr100feadBefore", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100fead < ?1"),
		@NamedQuery(name = "findProveedoresByPr100femo", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100femo = ?1"),
		@NamedQuery(name = "findProveedoresByPr100femoAfter", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100femo > ?1"),
		@NamedQuery(name = "findProveedoresByPr100femoBefore", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100femo < ?1"),
		@NamedQuery(name = "findProveedoresByPr100load", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100load = ?1"),
		@NamedQuery(name = "findProveedoresByPr100loadContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100load like ?1"),
		@NamedQuery(name = "findProveedoresByPr100lomo", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100lomo = ?1"),
		@NamedQuery(name = "findProveedoresByPr100lomoContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100lomo like ?1"),
		@NamedQuery(name = "findProveedoresByPr100nomb", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100nomb = ?1"),
		@NamedQuery(name = "findProveedoresByPr100nombContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100nomb like ?1"),
		@NamedQuery(name = "findProveedoresByPr100obs", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100obs = ?1"),
		@NamedQuery(name = "findProveedoresByPr100obs2", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100obs2 = ?1"),
		@NamedQuery(name = "findProveedoresByPr100obs2Containing", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100obs2 like ?1"),
		@NamedQuery(name = "findProveedoresByPr100obsContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100obs like ?1"),
		@NamedQuery(name = "findProveedoresByPr100plaz", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100plaz = ?1"),
		@NamedQuery(name = "findProveedoresByPr100rele", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100rele = ?1"),
		@NamedQuery(name = "findProveedoresByPr100releContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100rele like ?1"),
		@NamedQuery(name = "findProveedoresByPr100ruc", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ruc = ?1"),
		@NamedQuery(name = "findProveedoresByPr100rucContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100ruc like ?1"),
		@NamedQuery(name = "findProveedoresByPr100tar", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100tar = ?1"),
		@NamedQuery(name = "findProveedoresByPr100telf", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100telf = ?1"),
		@NamedQuery(name = "findProveedoresByPr100telfContaining", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100telf like ?1"),
		@NamedQuery(name = "findProveedoresByPrimaryKey", query = "select myProveedores from Proveedores myProveedores where myProveedores.pr100copr = ?1") })
@Table(catalog = "absV2", name = "pr100")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(namespace = "absWeb/abs/domain", name = "Proveedores")
public class Proveedores implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * Código
	 * 
	 */

	@Column(name = "pr100copr", nullable = false)
	@Basic(fetch = FetchType.EAGER)
	@Id
	@XmlElement
	Integer pr100copr;
	/**
	 * RUC
	 * 
	 */

	@Column(name = "pr100ruc", length = 15, nullable = false)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100ruc;
	/**
	 * Nombre
	 * 
	 */

	@Column(name = "pr100nomb", length = 80)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100nomb;
	/**
	 * Ciudad
	 * 
	 */

	@Column(name = "pr100ciud", length = 15)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100ciud;
	/**
	 * Dirección
	 * 
	 */

	@Column(name = "pr100dire", length = 100)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100dire;
	/**
	 * Teléfono
	 * 
	 */

	@Column(name = "pr100telf", length = 15)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100telf;
	/**
	 * e-mail
	 * 
	 */

	@Column(name = "pr100emai", length = 60)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100emai;
	/**
	 * Representante Legal
	 * 
	 */

	@Column(name = "pr100rele", length = 300)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100rele;
	/**
	 * Cargo Representante
	 * 
	 */

	@Column(name = "pr100cgre", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100cgre;
	/**
	 */

	@Column(name = "pr100auto", length = 15)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100auto;
	/**
	 * Contacto
	 * 
	 */

	@Column(name = "pr100cont", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100cont;
	/**
	 */

	@Column(name = "pr100tar")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Integer pr100tar;
	/**
	 * Observaciones
	 * 
	 */

	@Column(name = "pr100obs", length = 60)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100obs;
	/**
	 * Observaciones
	 * 
	 */

	@Column(name = "pr100obs2", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100obs2;
	/**
	 * Plazo
	 * 
	 */

	@Column(name = "pr100plaz")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Integer pr100plaz;
	/**
	 * Cuenta de Débito
	 * 
	 */

	@Column(name = "pr100ctadb", length = 15)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100ctadb;
	/**
	 * Cuenta de Crédito
	 * 
	 */

	@Column(name = "pr100ctacr", length = 15)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100ctacr;
	/**
	 */

	@Column(name = "pr100load", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100load;
	/**
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "pr100fead")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Calendar pr100fead;
	/**
	 */

	@Column(name = "pr100lomo", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String pr100lomo;
	/**
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "pr100femo")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Calendar pr100femo;

	/**
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({ @JoinColumn(name = "pr100tipo", referencedColumnName = "tipopr100cdgo") })
	@XmlTransient
	TipoProveedores tipoProveedores;
	/**
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({ @JoinColumn(name = "pr100nocia", referencedColumnName = "co000nocia", nullable = false) })
	@XmlTransient
	Companias companias;
	/**
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({ @JoinColumn(name = "pr100grpp", referencedColumnName = "grppr100cdgo") })
	@XmlTransient
	GrupoProveedores grupoProveedores;

	/**
	 * Código
	 * 
	 */
	public void setPr100copr(Integer pr100copr) {
		this.pr100copr = pr100copr;
	}

	/**
	 * Código
	 * 
	 */
	public Integer getPr100copr() {
		return this.pr100copr;
	}

	/**
	 * RUC
	 * 
	 */
	public void setPr100ruc(String pr100ruc) {
		this.pr100ruc = pr100ruc;
	}

	/**
	 * RUC
	 * 
	 */
	public String getPr100ruc() {
		return this.pr100ruc;
	}

	/**
	 * Nombre
	 * 
	 */
	public void setPr100nomb(String pr100nomb) {
		this.pr100nomb = pr100nomb;
	}

	/**
	 * Nombre
	 * 
	 */
	public String getPr100nomb() {
		return this.pr100nomb;
	}

	/**
	 * Ciudad
	 * 
	 */
	public void setPr100ciud(String pr100ciud) {
		this.pr100ciud = pr100ciud;
	}

	/**
	 * Ciudad
	 * 
	 */
	public String getPr100ciud() {
		return this.pr100ciud;
	}

	/**
	 * Dirección
	 * 
	 */
	public void setPr100dire(String pr100dire) {
		this.pr100dire = pr100dire;
	}

	/**
	 * Dirección
	 * 
	 */
	public String getPr100dire() {
		return this.pr100dire;
	}

	/**
	 * Teléfono
	 * 
	 */
	public void setPr100telf(String pr100telf) {
		this.pr100telf = pr100telf;
	}

	/**
	 * Teléfono
	 * 
	 */
	public String getPr100telf() {
		return this.pr100telf;
	}

	/**
	 * e-mail
	 * 
	 */
	public void setPr100emai(String pr100emai) {
		this.pr100emai = pr100emai;
	}

	/**
	 * e-mail
	 * 
	 */
	public String getPr100emai() {
		return this.pr100emai;
	}

	/**
	 * Representante Legal
	 * 
	 */
	public void setPr100rele(String pr100rele) {
		this.pr100rele = pr100rele;
	}

	/**
	 * Representante Legal
	 * 
	 */
	public String getPr100rele() {
		return this.pr100rele;
	}

	/**
	 * Cargo Representante
	 * 
	 */
	public void setPr100cgre(String pr100cgre) {
		this.pr100cgre = pr100cgre;
	}

	/**
	 * Cargo Representante
	 * 
	 */
	public String getPr100cgre() {
		return this.pr100cgre;
	}

	/**
	 */
	public void setPr100auto(String pr100auto) {
		this.pr100auto = pr100auto;
	}

	/**
	 */
	public String getPr100auto() {
		return this.pr100auto;
	}

	/**
	 * Contacto
	 * 
	 */
	public void setPr100cont(String pr100cont) {
		this.pr100cont = pr100cont;
	}

	/**
	 * Contacto
	 * 
	 */
	public String getPr100cont() {
		return this.pr100cont;
	}

	/**
	 */
	public void setPr100tar(Integer pr100tar) {
		this.pr100tar = pr100tar;
	}

	/**
	 */
	public Integer getPr100tar() {
		return this.pr100tar;
	}

	/**
	 * Observaciones
	 * 
	 */
	public void setPr100obs(String pr100obs) {
		this.pr100obs = pr100obs;
	}

	/**
	 * Observaciones
	 * 
	 */
	public String getPr100obs() {
		return this.pr100obs;
	}

	/**
	 * Observaciones
	 * 
	 */
	public void setPr100obs2(String pr100obs2) {
		this.pr100obs2 = pr100obs2;
	}

	/**
	 * Observaciones
	 * 
	 */
	public String getPr100obs2() {
		return this.pr100obs2;
	}

	/**
	 * Plazo
	 * 
	 */
	public void setPr100plaz(Integer pr100plaz) {
		this.pr100plaz = pr100plaz;
	}

	/**
	 * Plazo
	 * 
	 */
	public Integer getPr100plaz() {
		return this.pr100plaz;
	}

	/**
	 * Cuenta de Débito
	 * 
	 */
	public void setPr100ctadb(String pr100ctadb) {
		this.pr100ctadb = pr100ctadb;
	}

	/**
	 * Cuenta de Débito
	 * 
	 */
	public String getPr100ctadb() {
		return this.pr100ctadb;
	}

	/**
	 * Cuenta de Crédito
	 * 
	 */
	public void setPr100ctacr(String pr100ctacr) {
		this.pr100ctacr = pr100ctacr;
	}

	/**
	 * Cuenta de Crédito
	 * 
	 */
	public String getPr100ctacr() {
		return this.pr100ctacr;
	}

	/**
	 */
	public void setPr100load(String pr100load) {
		this.pr100load = pr100load;
	}

	/**
	 */
	public String getPr100load() {
		return this.pr100load;
	}

	/**
	 */
	public void setPr100fead(Calendar pr100fead) {
		this.pr100fead = pr100fead;
	}

	/**
	 */
	public Calendar getPr100fead() {
		return this.pr100fead;
	}

	/**
	 */
	public void setPr100lomo(String pr100lomo) {
		this.pr100lomo = pr100lomo;
	}

	/**
	 */
	public String getPr100lomo() {
		return this.pr100lomo;
	}

	/**
	 */
	public void setPr100femo(Calendar pr100femo) {
		this.pr100femo = pr100femo;
	}

	/**
	 */
	public Calendar getPr100femo() {
		return this.pr100femo;
	}

	/**
	 */
	public void setTipoProveedores(TipoProveedores tipoProveedores) {
		this.tipoProveedores = tipoProveedores;
	}

	/**
	 */
	public TipoProveedores getTipoProveedores() {
		return tipoProveedores;
	}

	/**
	 */
	public void setCompanias(Companias companias) {
		this.companias = companias;
	}

	/**
	 */
	public Companias getCompanias() {
		return companias;
	}

	/**
	 */
	public void setGrupoProveedores(GrupoProveedores grupoProveedores) {
		this.grupoProveedores = grupoProveedores;
	}

	/**
	 */
	public GrupoProveedores getGrupoProveedores() {
		return grupoProveedores;
	}

	/**
	 */
	public Proveedores() {
	}

	/**
	 * Copies the contents of the specified bean into this bean.
	 *
	 */
	public void copy(Proveedores that) {
		setPr100copr(that.getPr100copr());
		setPr100ruc(that.getPr100ruc());
		setPr100nomb(that.getPr100nomb());
		setPr100ciud(that.getPr100ciud());
		setPr100dire(that.getPr100dire());
		setPr100telf(that.getPr100telf());
		setPr100emai(that.getPr100emai());
		setPr100rele(that.getPr100rele());
		setPr100cgre(that.getPr100cgre());
		setPr100auto(that.getPr100auto());
		setPr100cont(that.getPr100cont());
		setPr100tar(that.getPr100tar());
		setPr100obs(that.getPr100obs());
		setPr100obs2(that.getPr100obs2());
		setPr100plaz(that.getPr100plaz());
		setPr100ctadb(that.getPr100ctadb());
		setPr100ctacr(that.getPr100ctacr());
		setPr100load(that.getPr100load());
		setPr100fead(that.getPr100fead());
		setPr100lomo(that.getPr100lomo());
		setPr100femo(that.getPr100femo());
		setTipoProveedores(that.getTipoProveedores());
		setCompanias(that.getCompanias());
		setGrupoProveedores(that.getGrupoProveedores());
	}

	/**
	 * Returns a textual representation of a bean.
	 *
	 */
	public String toString() {

		StringBuilder buffer = new StringBuilder();

		buffer.append("pr100copr=[").append(pr100copr).append("] ");
		buffer.append("pr100ruc=[").append(pr100ruc).append("] ");
		buffer.append("pr100nomb=[").append(pr100nomb).append("] ");
		buffer.append("pr100ciud=[").append(pr100ciud).append("] ");
		buffer.append("pr100dire=[").append(pr100dire).append("] ");
		buffer.append("pr100telf=[").append(pr100telf).append("] ");
		buffer.append("pr100emai=[").append(pr100emai).append("] ");
		buffer.append("pr100rele=[").append(pr100rele).append("] ");
		buffer.append("pr100cgre=[").append(pr100cgre).append("] ");
		buffer.append("pr100auto=[").append(pr100auto).append("] ");
		buffer.append("pr100cont=[").append(pr100cont).append("] ");
		buffer.append("pr100tar=[").append(pr100tar).append("] ");
		buffer.append("pr100obs=[").append(pr100obs).append("] ");
		buffer.append("pr100obs2=[").append(pr100obs2).append("] ");
		buffer.append("pr100plaz=[").append(pr100plaz).append("] ");
		buffer.append("pr100ctadb=[").append(pr100ctadb).append("] ");
		buffer.append("pr100ctacr=[").append(pr100ctacr).append("] ");
		buffer.append("pr100load=[").append(pr100load).append("] ");
		buffer.append("pr100fead=[").append(pr100fead).append("] ");
		buffer.append("pr100lomo=[").append(pr100lomo).append("] ");
		buffer.append("pr100femo=[").append(pr100femo).append("] ");

		return buffer.toString();
	}

	/**
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = (int) (prime * result + ((pr100copr == null) ? 0 : pr100copr.hashCode()));
		return result;
	}

	/**
	 */
	public boolean equals(Object obj) {
		if (obj == this)
			return true;
		if (!(obj instanceof Proveedores))
			return false;
		Proveedores equalCheck = (Proveedores) obj;
		if ((pr100copr == null && equalCheck.pr100copr != null) || (pr100copr != null && equalCheck.pr100copr == null))
			return false;
		if (pr100copr != null && !pr100copr.equals(equalCheck.pr100copr))
			return false;
		return true;
	}
}
